<html>
<body>
报告从嵌套类到外部类的非常量 <code>private</code> 成员的引用。
对于此类引用，javac 将生成 package-private 合成访问器方法，这可能会危及安全性，因为看似为 private 的成员实际上可以从整个软件包中访问。
<p>
  嵌套类及其外部类会被编译为单独的类文件。 Java 虚拟机通常会禁止从一个类访问另一个类的 private 字段和方法。 为了实现从嵌套类访问外部类的 private 成员，javac 创建了一个 package-private 合成访问器方法。
</p>
<p>
  通过将 <code>private</code> 成员设为 package-private，实际的可访问性变成了显式。
  这也会节省少量内存，可能会在资源受限的环境中提高性能。
</p>
<p>
  仅当项目或模块的语言级别为 10 或更低时，此检查才会报告。
  在 Java 11 和更高版本中，由于基于嵌套的访问控制 (<a href="https://openjdk.org/jeps/181">JEP 181</a>)，不再生成访问器方法。
</p>
<p><b>示例：</b></p>
<pre><code>
  class Outer {
    private void x() {}

    class Inner {
      void y() {
        x();
      }
    }
  }
</code></pre>
<p>在应用快速修复后：</p>
<pre><code>
  class Outer {
    void x() {}

    class Inner {
      void y() {
        x();
      }
    }
  }
</code></pre>
<!-- tooltip end -->
</body>
</html>
